#include "CDBFrecuencias.h"

CDBFrecuencias::CDBFrecuencias(CManagerTag* managerTag){
	managerTag->setFileManager(static_cast<IObservadorEliminarTag*>(this));
	this->fileManager.setTagManager(managerTag);
}

CDBFrecuencias::~CDBFrecuencias()
{
}

//bool CDBFrecuencias::crearTag(DBFrecuencias::TagId tagId){
//	bool resultado = this->fileManager.getTagManager()->crearTag(tagId);
//	return resultado;
//}
	
void CDBFrecuencias::eliminarTag(DBFrecuencias::TagId tagId){
	this->fileManager.eliminarTag(tagId);
}
	
void CDBFrecuencias::incrementarFrecuencia(DBFrecuencias::Palabra id, DBFrecuencias::TagId tagId, DBFrecuencias::Frecuencia frec){
	this->fileManager.incrementarFrecuencia(id,tagId,frec);
}
		
void CDBFrecuencias::decrementarFrecuencia(DBFrecuencias::Palabra id, DBFrecuencias::TagId tagId, DBFrecuencias::Frecuencia frec){
	this->fileManager.decrementarFrecuencia(id,tagId,frec);
}
	
void CDBFrecuencias::procesarArticulo(DBFrecuencias::TagId tagId, DBFrecuencias::FrecuenciasRegistro articulo){
	DBFrecuencias::FrecuenciasRegistro::iterator it = articulo.begin();
	for( ; it != articulo.end() ; it++){
		DBFrecuencias::Palabra id = it->first;
		DBFrecuencias::Frecuencia frec = it->second;
		this->fileManager.incrementarFrecuencia(id,tagId,frec);
	}
}
	
void CDBFrecuencias::eliminarArticulo(DBFrecuencias::TagId tagId, DBFrecuencias::FrecuenciasRegistro articulo){
	DBFrecuencias::FrecuenciasRegistro::iterator it = articulo.begin();
	for( ; it != articulo.end() ; it++){
		DBFrecuencias::Palabra id = it->first;
		DBFrecuencias::Frecuencia frec = it->second;
		this->fileManager.decrementarFrecuencia(id,tagId,frec);
	}
}

void CDBFrecuencias::consultarFrecuencias(DBFrecuencias::Palabra id,DBFrecuencias::MapFrecuencias& frecuencias){
	this->fileManager.consultarFrecuencias(id,frecuencias);
}
